このチュートリアルでは、XML を XAML ページのソースにデータアイランドとして埋め込んで、C1Chart コントロールを XML データにバインドするための手順を説明します。データは、都市の名前を表す1本の y 軸と、各国の人口を表す1本の x 軸を持つ単純な横棒グラフとして情報を表示します。横棒グラフでは、1つの系列を使用して人口を表示します。人口の色を示すため、凡例を使用します。
このチュートリアルでは、次の XAML コードを使用して、ChartData クラスでバインディングを設定します。
| XAML |
コードのコピー
|
|---|---|
<c1chart:ChartData ItemsSource="{Binding Source={StaticResource data}}" ItemNameBinding="{Binding XPath=CityName}"> <c1chart:DataSeries Label="人口" ValueBinding="{Binding XPath=Population}" /> </c1chart:ChartData> |
|
このチュートリアルを完了すると、グラフの表示は次のようになります。

| XAML |
コードのコピー
|
|---|---|
<Grid.Resources>
<XmlDataProvider x:Key="data" XPath="Cities/City">
<x:XData>
<Cities xmlns="">
<City>
<CityName>ムンバイ</CityName>
<Population>13000000</Population>
</City>
<City>
<CityName>カラチ</CityName>
<Population>11600000</Population>
</City>
<City>
<CityName>デリー</CityName>
<Population>11500000</Population>
</City>
<City>
<CityName>イスタンブール</CityName>
<Population>11200000</Population>
</City>
</Cities>
</x:XData>
</XmlDataProvider>
</Grid.Resources>
|
|
C1Chart コントロールをウィンドウに追加します。
C1Chart コントロールがウィンドウに配置されたら、次の XAML コードを追加します。
| XAML |
コードのコピー
|
|---|---|
Title="Window1" Height="50" Width="100" xmlns:c1chart="clr-namespace:C1.WPF.C1Chart;assembly=C1.WPF.C1Chart" Loaded="Window_Loaded"> <Grid> <c1chart:C1Chart Content="" Margin="10,10,10,18" Name="c1Chart1"> <c1chart:C1Chart.Data> <c1chart:ChartData> <c1chart:ChartData.ItemNames>P1 P2 P3 P4 P5</c1chart:ChartData.ItemNames> <c1chart:DataSeries Label="系列1" Values="20 22 19 24 25" /> <c1chart:DataSeries Label="系列2" Values="8 12 10 12 15" /> </c1chart:ChartData> </c1chart:C1Chart.Data> <c1chart:Legend DockPanel.Dock="Right" /> </c1chart:C1Chart> </Grid> |
|
| XAML |
コードのコピー
|
|---|---|
<c1chart:C1Chart Margin="0" Name="c1Chart1" ChartType="Bar"> </c1chart:C1Chart> |
|
| XAML |
コードのコピー
|
|---|---|
<c1chart:ChartData.ItemNames>P1 P2 P3 P4 P5</c1chart:ChartData.ItemNames>
<c1chart:DataSeries Label="系列1" Values="20 22 19 24 25" />
<c1chart:DataSeries Label="系列2" Values="8 12 10 12 15" />
|
|
2つのデフォルト系列が C1Chart から削除され、データがないために C1Chart コントロールの表示は空になります。
XAML の場合:
| XAML |
コードのコピー
|
|---|---|
<c1chart:ChartData ItemsSource="{Binding Source={StaticResource data}}" ItemNameBinding="{Binding XPath=CityName}"> <c1chart:DataSeries Label="人口" ValueBinding="{Binding XPath=Population}" /> </c1chart:ChartData> |
|
C1Chart コントロールの XAML コードは、次のようになるはずです。
| XAML |
コードのコピー
|
|---|---|
<c1chart:C1Chart Height="300" HorizontalAlignment="Left" Margin="0" Name="c1Chart1" ChartType="Bar" VerticalAlignment="Top" Width="500"> <c1chart:C1Chart.Data> <c1chart:ChartData ItemsSource="{Binding Source={StaticResource data}}" ItemNameBinding="{Binding XPath=CityName}"> <c1chart:DataSeries Label="人口" ValueBinding="{Binding XPath=Population}" /> </c1chart:ChartData> </c1chart:C1Chart.Data> <c1chart:Legend DockPanel.Dock="Right" /> </c1chart:C1Chart> |
|
x 軸の注釈の表示に注意してください。x 軸の注釈を書式設定して、人口が桁区切り付きで表示されるようにする必要があります。
| XAML |
コードのコピー
|
|---|---|
<c1chart:C1Chart.View>
<c1chart:ChartView>
<c1chart:ChartView.AxisX >
<c1chart:Axis Min="0" MajorGridStroke="DarkGray" AnnoFormat="#,###,###"/>
</c1chart:ChartView.AxisX>
</c1chart:ChartView>
</c1chart:C1Chart.View>
|
|
X 軸の注釈は、次のように更新されてグラフ上に表示されます。